<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>SystemSharp: SystemSharp.Components.Component Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">SystemSharp
   &#160;<span id="projectnumber">0.3</span>
   </div>
   <div id="projectbrief">A system-level modeling framework for designing real-time embedded systems</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Packages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('class_system_sharp_1_1_components_1_1_component.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Events</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="class_system_sharp_1_1_components_1_1_component-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">SystemSharp.Components.Component Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>The abstract base class for defining components.  
 <a href="class_system_sharp_1_1_components_1_1_component.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for SystemSharp.Components.Component:</div>
<div class="dyncontent">
 <div class="center">
  <img src="class_system_sharp_1_1_components_1_1_component.png" usemap="#SystemSharp.Components.Component_map" alt=""/>
  <map id="SystemSharp.Components.Component_map" name="SystemSharp.Components.Component_map">
<area href="class_system_sharp_1_1_components_1_1_design_object.html" title="The DesignObject is the abstract base class of M0 modeling classes, such as Component and Channel..." alt="SystemSharp.Components.DesignObject" shape="rect" coords="0,0,381,24"/>
<area href="interface_system_sharp_1_1_meta_1_1_i_containment_implementor.html" title="This interface describes model elements which are owned by some superordinate descriptor. " alt="SystemSharp.Meta.IContainmentImplementor" shape="rect" coords="782,0,1163,24"/>
<area href="class_system_sharp_1_1_components_1_1_component_collection.html" title="A component which is an aggregate of multiple child components " alt="SystemSharp.Components.ComponentCollection" shape="rect" coords="782,112,1163,136"/>
<area href="class_system_sharp_1_1_components_1_1_dynamic_component.html" title="Experimental class for components supporting dynamic creation of ports and signals. Not really mature. " alt="SystemSharp.Components.DynamicComponent" shape="rect" coords="782,168,1163,192"/>
<area href="class_system_sharp_1_1_components_1_1_f_u_1_1_functional_unit.html" title="Base class for implementing hardware functional units. However, it is not required that you implement..." alt="SystemSharp.Components.FU.FunctionalUnit" shape="rect" coords="782,224,1163,248"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_b_c_u.html" title="A synthesizable implementation of a branch control unit. It is intended to be used during high-level ..." alt="SystemSharp.Components.Std.BCU" shape="rect" coords="782,280,1163,304"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_clock.html" title="A standard clock driver implementation which supports simulation and generation of simulative HDL for..." alt="SystemSharp.Components.Std.Clock" shape="rect" coords="782,336,1163,360"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_concatenizer.html" title="A synthesizable implementation of a bit-vector concatenating unit. It is intended to be used during h..." alt="SystemSharp.Components.Std.Concatenizer" shape="rect" coords="782,392,1163,416"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_console_logger_3_01_t_01_4.html" title="A simple diagnostic component which writes dumps its input signal value to the console upon each valu..." alt="SystemSharp.Components.Std.ConsoleLogger&lt; T &gt;" shape="rect" coords="782,448,1163,472"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_fixed_abs.html" title="Implements a synthesizable absolute value function for fixed-point arithmetic. The component is inten..." alt="SystemSharp.Components.Std.FixedAbs" shape="rect" coords="782,504,1163,528"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_fix_f_p_mod1.html" title="Given a fixed-point number x, this component computes the fixed-point modulus of x and 1..." alt="SystemSharp.Components.Std.FixFPMod1" shape="rect" coords="782,560,1163,584"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_float_neg_abs.html" title="Provides a synthesizable implementation of negation and absolute value function for floating-point ar..." alt="SystemSharp.Components.Std.FloatNegAbs" shape="rect" coords="782,616,1163,640"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_float_sign_as_signed.html" title="Provides a synthesizable implementation of the signum function for floating-point arithmetic..." alt="SystemSharp.Components.Std.FloatSignAsSigned" shape="rect" coords="782,672,1163,696"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_l_e_r_p11_core.html" title="A unit for 1D linear interpolation over equidistant data points. A pre-initialized data table is stor..." alt="SystemSharp.Components.Std.LERP11Core" shape="rect" coords="782,728,1163,752"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_l_e_r_p_unit.html" title="A unit for 1D linear interpolation over equidistant data points. A register transfer level interface ..." alt="SystemSharp.Components.Std.LERPUnit" shape="rect" coords="782,784,1163,808"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_reg_pipe.html" title="Shift register implementation " alt="SystemSharp.Components.Std.RegPipe" shape="rect" coords="782,840,1163,864"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_r_o_m.html" title="A simple ROM implementation which supports simulation and synthesizable HDL generation. " alt="SystemSharp.Components.Std.ROM" shape="rect" coords="782,896,1163,920"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_shifter.html" title="A logical shift unit (arithmetic shifts not currently not supported). " alt="SystemSharp.Components.Std.Shifter" shape="rect" coords="782,952,1163,976"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_simple_d_p_r_a_m.html" title="A simple dual-ported RAM implementation which supports simulation and synthesizable HDL generation..." alt="SystemSharp.Components.Std.SimpleDPRAM" shape="rect" coords="782,1008,1163,1032"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_sin_cos_l_u_t_core.html" title="Provides a synthesizable implementation of sine and cosine functions, using linear interpolation in f..." alt="SystemSharp.Components.Std.SinCosLUTCore" shape="rect" coords="782,1064,1163,1088"/>
<area href="class_system_sharp_1_1_components_1_1_std_1_1_slicer.html" title="A functional unit for performing slice operations on bit-vectors. The slice semantics are generalized..." alt="SystemSharp.Components.Std.Slicer" shape="rect" coords="782,1120,1163,1144"/>
<area href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_a_x_i_1_1_a_x_i_lite_slave_user_logic.html" title="Abstract base implementation of AXI Lite slave user logic " alt="SystemSharp.Interop.Xilinx.AXI.AXILiteSlaveUserLogic" shape="rect" coords="782,1176,1163,1200"/>
<area href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_a_x_i_1_1_a_x_i_lite_slave_user_logic_testbench.html" title="Testbench for AXI Lite slave user logic. " alt="SystemSharp.Interop.Xilinx.AXI.AXILiteSlaveUserLogicTestbench" shape="rect" coords="782,1232,1163,1256"/>
<area href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_a_x_i_1_1_a_x_i_master_user_logic.html" title="Abstract base implementation of AXI master user logic. " alt="SystemSharp.Interop.Xilinx.AXI.AXIMasterUserLogic" shape="rect" coords="782,1288,1163,1312"/>
<area href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_a_x_i_1_1_a_x_i_master_user_logic_testbench.html" title="Testbench for AXI master user logic. " alt="SystemSharp.Interop.Xilinx.AXI.AXIMasterUserLogicTestbench" shape="rect" coords="782,1344,1163,1368"/>
<area href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_adder_subtracter.html" title="Model of a Xilinx adder/subtracter IP core. " alt="SystemSharp.Interop.Xilinx.IPCores.XilinxAdderSubtracter" shape="rect" coords="782,1400,1163,1424"/>
<area href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_clocking_wizard.html" title="Models the Xilinx clocking wizard IP core. " alt="SystemSharp.Interop.Xilinx.IPCores.XilinxClockingWizard" shape="rect" coords="782,1456,1163,1480"/>
<area href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_cordic.html" title="Models a Xilinx CORDIC core. " alt="SystemSharp.Interop.Xilinx.IPCores.XilinxCordic" shape="rect" coords="782,1512,1163,1536"/>
<area href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_dds_compiler.html" title="Models the Xilinx DDS compiler core. " alt="SystemSharp.Interop.Xilinx.IPCores.XilinxDdsCompiler" shape="rect" coords="782,1568,1163,1592"/>
<area href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_divider.html" title="Models a Xilinx divider IP core. " alt="SystemSharp.Interop.Xilinx.IPCores.XilinxDivider" shape="rect" coords="782,1624,1163,1648"/>
<area href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_multiplier.html" title="Models a Xilinx multiplier IP core. " alt="SystemSharp.Interop.Xilinx.IPCores.XilinxMultiplier" shape="rect" coords="782,1680,1163,1704"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0ce99f29f1660e61df39f66149a66c20"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a0ce99f29f1660e61df39f66149a66c20">Component</a> ()</td></tr>
<tr class="memdesc:a0ce99f29f1660e61df39f66149a66c20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a component instance.  <a href="#a0ce99f29f1660e61df39f66149a66c20">More...</a><br/></td></tr>
<tr class="separator:a0ce99f29f1660e61df39f66149a66c20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7e795154d53f53d486fbcce7ef5aaaf"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#aa7e795154d53f53d486fbcce7ef5aaaf">SetOwner</a> (<a class="el" href="class_system_sharp_1_1_meta_1_1_descriptor_base.html">DescriptorBase</a> owner, MemberInfo declSite, <a class="el" href="class_system_sharp_1_1_data_types_1_1_index_spec.html">IndexSpec</a> indexSpec)</td></tr>
<tr class="memdesc:aa7e795154d53f53d486fbcce7ef5aaaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the owning descriptor of this component.  <a href="#aa7e795154d53f53d486fbcce7ef5aaaf">More...</a><br/></td></tr>
<tr class="separator:aa7e795154d53f53d486fbcce7ef5aaaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56a35638ea6a794c818c5de4ee979fe0"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a56a35638ea6a794c818c5de4ee979fe0">IsEquivalent</a> (<a class="el" href="class_system_sharp_1_1_components_1_1_component.html">Component</a> component)</td></tr>
<tr class="memdesc:a56a35638ea6a794c818c5de4ee979fe0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether this component is equivalent to another one. Equivalent means that both components have the same interface with the same ports, port types and port type parameters and that moreover both behave in the same way. This check cannot be done in general (refer to the halting problem). Instead, it is up to the designer to implement specialized checks for derived components. The base implementation returns true only if it is compared to itself. IsEquivalent must use conservative assumptions. I.e. it may return <code>false</code> if in doubt, but must never return <code>true</code> if it cannot gurantee that the other component behaves identically.  <a href="#a56a35638ea6a794c818c5de4ee979fe0">More...</a><br/></td></tr>
<tr class="separator:a56a35638ea6a794c818c5de4ee979fe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af029aaf01d5f09095241ccc0b2566626"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#af029aaf01d5f09095241ccc0b2566626">GetBehaviorHashCode</a> ()</td></tr>
<tr class="memdesc:af029aaf01d5f09095241ccc0b2566626"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns a hash code such that for any two components c1 and c2 the following condition holds: <code>c1.GetBehaviorHashCode() != c2.GetBehaviorHashCode()</code> implies <code>!c1.IsEquivalent(c2)</code>  <a href="#af029aaf01d5f09095241ccc0b2566626">More...</a><br/></td></tr>
<tr class="separator:af029aaf01d5f09095241ccc0b2566626"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_system_sharp_1_1_components_1_1_design_object"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_system_sharp_1_1_components_1_1_design_object')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_system_sharp_1_1_components_1_1_design_object.html">SystemSharp.Components.DesignObject</a></td></tr>
<tr class="memitem:afe24e77102331d4c23912d3d3c1159fc inherit pub_methods_class_system_sharp_1_1_components_1_1_design_object"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_design_object.html#afe24e77102331d4c23912d3d3c1159fc">DesignObject</a> ()</td></tr>
<tr class="memdesc:afe24e77102331d4c23912d3d3c1159fc inherit pub_methods_class_system_sharp_1_1_components_1_1_design_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a SimObject instance.  <a href="#afe24e77102331d4c23912d3d3c1159fc">More...</a><br/></td></tr>
<tr class="separator:afe24e77102331d4c23912d3d3c1159fc inherit pub_methods_class_system_sharp_1_1_components_1_1_design_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a1de96fc4579daeff4ecfd6595e1db3f5"><td class="memItemLeft" align="right" valign="top">static async Task&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a1de96fc4579daeff4ecfd6595e1db3f5">NTicks</a> (int numTicks)</td></tr>
<tr class="memdesc:a1de96fc4579daeff4ecfd6595e1db3f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents <em>numTicks</em>  ticks  <a href="#a1de96fc4579daeff4ecfd6595e1db3f5">More...</a><br/></td></tr>
<tr class="separator:a1de96fc4579daeff4ecfd6595e1db3f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75ff16ba21959d251ec876313d5d324d"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_system_sharp_1_1_components_1_1_predicated_event.html">PredicatedEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a75ff16ba21959d251ec876313d5d324d">RisingEdge</a> (<a class="el" href="namespace_system_sharp_1_1_components.html#a1b363c1bde8fdda4245b1c5c616e328eaefeb369cccbd560588a756610865664c">In</a>&lt; <a class="el" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> &gt; clk)</td></tr>
<tr class="memdesc:a75ff16ba21959d251ec876313d5d324d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents one rising edge.  <a href="#a75ff16ba21959d251ec876313d5d324d">More...</a><br/></td></tr>
<tr class="separator:a75ff16ba21959d251ec876313d5d324d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a810368251d018ad12a4a63b618a7dd2b"><td class="memItemLeft" align="right" valign="top">static async Task&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a810368251d018ad12a4a63b618a7dd2b">NRisingEdges</a> (<a class="el" href="namespace_system_sharp_1_1_components.html#a1b363c1bde8fdda4245b1c5c616e328eaefeb369cccbd560588a756610865664c">In</a>&lt; <a class="el" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> &gt; clk, int numTicks)</td></tr>
<tr class="memdesc:a810368251d018ad12a4a63b618a7dd2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents <em>numTicks</em>  rising edges.  <a href="#a810368251d018ad12a4a63b618a7dd2b">More...</a><br/></td></tr>
<tr class="separator:a810368251d018ad12a4a63b618a7dd2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10bc83162f63c87b8d516572d2e34b50"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_system_sharp_1_1_components_1_1_predicated_event.html">PredicatedEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a10bc83162f63c87b8d516572d2e34b50">FallingEdge</a> (<a class="el" href="namespace_system_sharp_1_1_components.html#a1b363c1bde8fdda4245b1c5c616e328eaefeb369cccbd560588a756610865664c">In</a>&lt; <a class="el" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> &gt; clk)</td></tr>
<tr class="memdesc:a10bc83162f63c87b8d516572d2e34b50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents one falling edge.  <a href="#a10bc83162f63c87b8d516572d2e34b50">More...</a><br/></td></tr>
<tr class="separator:a10bc83162f63c87b8d516572d2e34b50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae591fd0484a69ac722c66ff32d19f0c2"><td class="memItemLeft" align="right" valign="top">static async Task&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#ae591fd0484a69ac722c66ff32d19f0c2">NFallingEdges</a> (<a class="el" href="namespace_system_sharp_1_1_components.html#a1b363c1bde8fdda4245b1c5c616e328eaefeb369cccbd560588a756610865664c">In</a>&lt; <a class="el" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> &gt; clk, int numTicks)</td></tr>
<tr class="memdesc:ae591fd0484a69ac722c66ff32d19f0c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents <em>numTicks</em>  falling edges.  <a href="#ae591fd0484a69ac722c66ff32d19f0c2">More...</a><br/></td></tr>
<tr class="separator:ae591fd0484a69ac722c66ff32d19f0c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc8c154c36493b4fbdf4b76ed0d1ecb5"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_system_sharp_1_1_components_1_1_multi_event.html">MultiEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#afc8c154c36493b4fbdf4b76ed0d1ecb5">Any</a> (params <a class="el" href="interface_system_sharp_1_1_components_1_1_i_in_port.html">IInPort</a>[] signals)</td></tr>
<tr class="memdesc:afc8c154c36493b4fbdf4b76ed0d1ecb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combines the changed events of multiple signals to a single event which is triggered whenever any of the involved signals changed its value.  <a href="#afc8c154c36493b4fbdf4b76ed0d1ecb5">More...</a><br/></td></tr>
<tr class="separator:afc8c154c36493b4fbdf4b76ed0d1ecb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40334aded171d93dfa44a8aa12ed91bc"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_system_sharp_1_1_components_1_1_multi_event.html">MultiEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a40334aded171d93dfa44a8aa12ed91bc">Any</a> (params <a class="el" href="class_system_sharp_1_1_components_1_1_abstract_event.html">AbstractEvent</a>[] events)</td></tr>
<tr class="memdesc:a40334aded171d93dfa44a8aa12ed91bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combines multiple events to a single event which is triggered whenever any event is triggered.  <a href="#a40334aded171d93dfa44a8aa12ed91bc">More...</a><br/></td></tr>
<tr class="separator:a40334aded171d93dfa44a8aa12ed91bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a08efdba561f12337f6b9fced61ba185a"><td class="memItemLeft" align="right" valign="top">static readonly <br class="typebreak"/>
IEqualityComparer&lt; <a class="el" href="class_system_sharp_1_1_components_1_1_component.html">Component</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a08efdba561f12337f6b9fced61ba185a">BehaviorComparer</a> = new ComponentBehaviorComparer()</td></tr>
<tr class="memdesc:a08efdba561f12337f6b9fced61ba185a"><td class="mdescLeft">&#160;</td><td class="mdescRight">An equality comparer which defines equality by the <code>IsEquivalent(...)</code>/<code><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#af029aaf01d5f09095241ccc0b2566626" title="returns a hash code such that for any two components c1 and c2 the following condition holds: c1...">GetBehaviorHashCode()</a></code> methods.  <a href="#a08efdba561f12337f6b9fced61ba185a">More...</a><br/></td></tr>
<tr class="separator:a08efdba561f12337f6b9fced61ba185a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a8692f591ead72696120c85c117b96bf4"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a8692f591ead72696120c85c117b96bf4">Initialize</a> ()</td></tr>
<tr class="memdesc:a8692f591ead72696120c85c117b96bf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override this method to perform initialization tasks, such as registering a process.  <a href="#a8692f591ead72696120c85c117b96bf4">More...</a><br/></td></tr>
<tr class="separator:a8692f591ead72696120c85c117b96bf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af61fbc9224ffed9332ecc1a21eb79b23"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#af61fbc9224ffed9332ecc1a21eb79b23">PreInitialize</a> ()</td></tr>
<tr class="memdesc:af61fbc9224ffed9332ecc1a21eb79b23"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method gets called prior to <code><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a8692f591ead72696120c85c117b96bf4" title="Override this method to perform initialization tasks, such as registering a process. ">Initialize()</a></code>.  <a href="#af61fbc9224ffed9332ecc1a21eb79b23">More...</a><br/></td></tr>
<tr class="separator:af61fbc9224ffed9332ecc1a21eb79b23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4142ab9ea2e3d7b486cd39a79f1c112d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a4142ab9ea2e3d7b486cd39a79f1c112d">PostInitialize</a> ()</td></tr>
<tr class="memdesc:a4142ab9ea2e3d7b486cd39a79f1c112d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method gets called after <code><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a8692f591ead72696120c85c117b96bf4" title="Override this method to perform initialization tasks, such as registering a process. ">Initialize()</a></code>.  <a href="#a4142ab9ea2e3d7b486cd39a79f1c112d">More...</a><br/></td></tr>
<tr class="separator:a4142ab9ea2e3d7b486cd39a79f1c112d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a810195042b9f3c8cd4ca2f9fe84268"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a6a810195042b9f3c8cd4ca2f9fe84268">OnSimulationStopped</a> ()</td></tr>
<tr class="memdesc:a6a810195042b9f3c8cd4ca2f9fe84268"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method gets called when the simulation stopped. Overwrite it to perform any cleanup tasks.  <a href="#a6a810195042b9f3c8cd4ca2f9fe84268">More...</a><br/></td></tr>
<tr class="separator:a6a810195042b9f3c8cd4ca2f9fe84268"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb3edcb7fa090e32393ebfbbc5a5eb2d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#abb3edcb7fa090e32393ebfbbc5a5eb2d">Bind</a> (Action bindAction)</td></tr>
<tr class="memdesc:abb3edcb7fa090e32393ebfbbc5a5eb2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers an action to be performed before model elaboration. This is especially useful for performing port binding tasks.  <a href="#abb3edcb7fa090e32393ebfbbc5a5eb2d">More...</a><br/></td></tr>
<tr class="separator:abb3edcb7fa090e32393ebfbbc5a5eb2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e6d9b59fa0eb7c82c0684155a340049"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a1e6d9b59fa0eb7c82c0684155a340049">AddProcess</a> (Action func, params <a class="el" href="class_system_sharp_1_1_components_1_1_abstract_event.html">AbstractEvent</a>[] sensitive)</td></tr>
<tr class="memdesc:a1e6d9b59fa0eb7c82c0684155a340049"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers a triggered process.  <a href="#a1e6d9b59fa0eb7c82c0684155a340049">More...</a><br/></td></tr>
<tr class="separator:a1e6d9b59fa0eb7c82c0684155a340049"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb91da31da19033a4cf1fcfb006dd957"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#abb91da31da19033a4cf1fcfb006dd957">AddProcess</a> (Action func, params <a class="el" href="interface_system_sharp_1_1_components_1_1_i_in_port.html">IInPort</a>[] sensitive)</td></tr>
<tr class="memdesc:abb91da31da19033a4cf1fcfb006dd957"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers a triggered process.  <a href="#abb91da31da19033a4cf1fcfb006dd957">More...</a><br/></td></tr>
<tr class="separator:abb91da31da19033a4cf1fcfb006dd957"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5ad780d927f150155272e75d0b5944f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#ad5ad780d927f150155272e75d0b5944f">AddProcess</a> (Action func)</td></tr>
<tr class="memdesc:ad5ad780d927f150155272e75d0b5944f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers a triggered process without sensitivity. The process gets executed after the beginning of the simulation.  <a href="#ad5ad780d927f150155272e75d0b5944f">More...</a><br/></td></tr>
<tr class="separator:ad5ad780d927f150155272e75d0b5944f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bb47ad0d55c37e2193c3e5891ef5e92"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a1bb47ad0d55c37e2193c3e5891ef5e92">AddThread</a> (Action func)</td></tr>
<tr class="memdesc:a1bb47ad0d55c37e2193c3e5891ef5e92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers a threaded process.  <a href="#a1bb47ad0d55c37e2193c3e5891ef5e92">More...</a><br/></td></tr>
<tr class="separator:a1bb47ad0d55c37e2193c3e5891ef5e92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdcce7be310b3b76f1f1599fc41babef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#afdcce7be310b3b76f1f1599fc41babef">AddClockedThread</a> (Action func, Func&lt; bool &gt; predicate, params <a class="el" href="interface_system_sharp_1_1_components_1_1_i_in_port.html">IInPort</a>[] sensitive)</td></tr>
<tr class="memdesc:afdcce7be310b3b76f1f1599fc41babef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers a threaded process whereby the <code>Tick</code> event is triggered whenever the specified predicate evaluates to <code>true</code>.  <a href="#afdcce7be310b3b76f1f1599fc41babef">More...</a><br/></td></tr>
<tr class="separator:afdcce7be310b3b76f1f1599fc41babef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d8690dbea865cc35696ab5a5156e3bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a4d8690dbea865cc35696ab5a5156e3bf">NextTrigger</a> (<a class="el" href="class_system_sharp_1_1_components_1_1_time.html">Time</a> delta)</td></tr>
<tr class="memdesc:a4d8690dbea865cc35696ab5a5156e3bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes a triggered process sensitivity list and request it to be scheduled in the future.  <a href="#a4d8690dbea865cc35696ab5a5156e3bf">More...</a><br/></td></tr>
<tr class="separator:a4d8690dbea865cc35696ab5a5156e3bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f4060504997f39520c0a299583a8b25"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a4f4060504997f39520c0a299583a8b25">NextTrigger</a> (params <a class="el" href="class_system_sharp_1_1_components_1_1_abstract_event.html">AbstractEvent</a>[] sensitive)</td></tr>
<tr class="memdesc:a4f4060504997f39520c0a299583a8b25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes a process sensitivity list.  <a href="#a4f4060504997f39520c0a299583a8b25">More...</a><br/></td></tr>
<tr class="separator:a4f4060504997f39520c0a299583a8b25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad46541678bc5b9774af415fd6877dd20"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#ad46541678bc5b9774af415fd6877dd20">NextTrigger</a> (params <a class="el" href="interface_system_sharp_1_1_components_1_1_i_in_port.html">IInPort</a>[] sensitive)</td></tr>
<tr class="memdesc:ad46541678bc5b9774af415fd6877dd20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes a process sensitivity list.  <a href="#ad46541678bc5b9774af415fd6877dd20">More...</a><br/></td></tr>
<tr class="separator:ad46541678bc5b9774af415fd6877dd20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe716e869e98f9e89e6ee1c9f7d67ae6"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#afe716e869e98f9e89e6ee1c9f7d67ae6">OnAnalysis</a> ()</td></tr>
<tr class="memdesc:afe716e869e98f9e89e6ee1c9f7d67ae6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called upon model analysis.  <a href="#afe716e869e98f9e89e6ee1c9f7d67ae6">More...</a><br/></td></tr>
<tr class="separator:afe716e869e98f9e89e6ee1c9f7d67ae6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af92696c1d2ed6ac728abc125e008d501"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#af92696c1d2ed6ac728abc125e008d501">OnSynthesis</a> (<a class="el" href="interface_system_sharp_1_1_synthesis_1_1_i_synthesis_context.html">ISynthesisContext</a> ctx)</td></tr>
<tr class="memdesc:af92696c1d2ed6ac728abc125e008d501"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called upon synthesis. Overwrite it to perform custom synthesis tasks, such as generating a core generator script.  <a href="#af92696c1d2ed6ac728abc125e008d501">More...</a><br/></td></tr>
<tr class="separator:af92696c1d2ed6ac728abc125e008d501"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_system_sharp_1_1_components_1_1_design_object"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_system_sharp_1_1_components_1_1_design_object')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_system_sharp_1_1_components_1_1_design_object.html">SystemSharp.Components.DesignObject</a></td></tr>
<tr class="memitem:a2b564ae39383e9b2425a22056e8e5255 inherit pro_methods_class_system_sharp_1_1_components_1_1_design_object"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_design_object.html#a2b564ae39383e9b2425a22056e8e5255">DesignObject</a> (<a class="el" href="class_system_sharp_1_1_components_1_1_design_context.html">DesignContext</a> context)</td></tr>
<tr class="memdesc:a2b564ae39383e9b2425a22056e8e5255 inherit pro_methods_class_system_sharp_1_1_components_1_1_design_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a SimObject instance for a specific design context.  <a href="#a2b564ae39383e9b2425a22056e8e5255">More...</a><br/></td></tr>
<tr class="separator:a2b564ae39383e9b2425a22056e8e5255 inherit pro_methods_class_system_sharp_1_1_components_1_1_design_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a7efe2d00ea2effb2ac11a747a9ea28c4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html">Component</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a7efe2d00ea2effb2ac11a747a9ea28c4">Parent</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a7efe2d00ea2effb2ac11a747a9ea28c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The containing component of this component.  <a href="#a7efe2d00ea2effb2ac11a747a9ea28c4">More...</a><br/></td></tr>
<tr class="separator:a7efe2d00ea2effb2ac11a747a9ea28c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e2054f4f825ab32c05e569d315967f9"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_system_sharp_1_1_components_1_1_predicated_event.html">PredicatedEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a6e2054f4f825ab32c05e569d315967f9">Tick</a><code> [get]</code></td></tr>
<tr class="memdesc:a6e2054f4f825ab32c05e569d315967f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents one tick  <a href="#a6e2054f4f825ab32c05e569d315967f9">More...</a><br/></td></tr>
<tr class="separator:a6e2054f4f825ab32c05e569d315967f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fbf3618498aec1964b817cdd0742890"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_system_sharp_1_1_meta_1_1_component_descriptor.html">ComponentDescriptor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a0fbf3618498aec1964b817cdd0742890">Descriptor</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a0fbf3618498aec1964b817cdd0742890"><td class="mdescLeft">&#160;</td><td class="mdescRight">The associated component descriptor  <a href="#a0fbf3618498aec1964b817cdd0742890">More...</a><br/></td></tr>
<tr class="separator:a0fbf3618498aec1964b817cdd0742890"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a903fa72c9c562e704fc0648d70a9bcab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interface_system_sharp_1_1_components_1_1_i_auto_binder.html">IAutoBinder</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a903fa72c9c562e704fc0648d70a9bcab">AutoBinder</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a903fa72c9c562e704fc0648d70a9bcab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets or sets a binder service for this component.  <a href="#a903fa72c9c562e704fc0648d70a9bcab">More...</a><br/></td></tr>
<tr class="separator:a903fa72c9c562e704fc0648d70a9bcab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38100ebf182b1d69a1de2b4104fe6755"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html">Component</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a38100ebf182b1d69a1de2b4104fe6755">Representant</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a38100ebf182b1d69a1de2b4104fe6755"><td class="mdescLeft">&#160;</td><td class="mdescRight">A representative component such that <code>IsEquivalent(Representant)</code> is fulfilled.  <a href="#a38100ebf182b1d69a1de2b4104fe6755">More...</a><br/></td></tr>
<tr class="separator:a38100ebf182b1d69a1de2b4104fe6755"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header properties_class_system_sharp_1_1_components_1_1_design_object"><td colspan="2" onclick="javascript:toggleInherit('properties_class_system_sharp_1_1_components_1_1_design_object')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="class_system_sharp_1_1_components_1_1_design_object.html">SystemSharp.Components.DesignObject</a></td></tr>
<tr class="memitem:adac40c788c65dfa6296eb8f3ce26fdc6 inherit properties_class_system_sharp_1_1_components_1_1_design_object"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_system_sharp_1_1_components_1_1_design_context.html">DesignContext</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_design_object.html#adac40c788c65dfa6296eb8f3ce26fdc6">Context</a><code> [get, set]</code></td></tr>
<tr class="memdesc:adac40c788c65dfa6296eb8f3ce26fdc6 inherit properties_class_system_sharp_1_1_components_1_1_design_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the simulation context which was used throughout the construction of the SimObject.  <a href="#adac40c788c65dfa6296eb8f3ce26fdc6">More...</a><br/></td></tr>
<tr class="separator:adac40c788c65dfa6296eb8f3ce26fdc6 inherit properties_class_system_sharp_1_1_components_1_1_design_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a363aa16130b362446ce788a027a75cd4 inherit properties_class_system_sharp_1_1_components_1_1_design_object"><td class="memItemLeft" align="right" valign="top">ICollection&lt; <a class="el" href="class_system_sharp_1_1_components_1_1_design_object.html">DesignObject</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_design_object.html#a363aa16130b362446ce788a027a75cd4">Children</a><code> [get]</code></td></tr>
<tr class="memdesc:a363aa16130b362446ce788a027a75cd4 inherit properties_class_system_sharp_1_1_components_1_1_design_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a collection of all dependent ("owned") objects.  <a href="#a363aa16130b362446ce788a027a75cd4">More...</a><br/></td></tr>
<tr class="separator:a363aa16130b362446ce788a027a75cd4 inherit properties_class_system_sharp_1_1_components_1_1_design_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a382eff5fee25408946448dc459fa2308 inherit properties_class_system_sharp_1_1_components_1_1_design_object"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_components_1_1_design_object.html#a382eff5fee25408946448dc459fa2308">OriginInfo</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a382eff5fee25408946448dc459fa2308 inherit properties_class_system_sharp_1_1_components_1_1_design_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides diagnostic information on object creator (i.e. stack trace during constructor call). Logging must be previously enabled by setting CaptureDesignObjectOrigins property of <a class="el" href="class_system_sharp_1_1_components_1_1_design_context.html" title="This class encapsulates the simulation context. Each design has an associated simulation context...">DesignContext</a> to true.  <a href="#a382eff5fee25408946448dc459fa2308">More...</a><br/></td></tr>
<tr class="separator:a382eff5fee25408946448dc459fa2308 inherit properties_class_system_sharp_1_1_components_1_1_design_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The abstract base class for defining components. </p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00038">38</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a0ce99f29f1660e61df39f66149a66c20"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SystemSharp.Components.Component.Component </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructs a component instance. </p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00065">65</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="afdcce7be310b3b76f1f1599fc41babef"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void SystemSharp.Components.Component.AddClockedThread </td>
          <td>(</td>
          <td class="paramtype">Action&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Func&lt; bool &gt;&#160;</td>
          <td class="paramname"><em>predicate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">params <a class="el" href="interface_system_sharp_1_1_components_1_1_i_in_port.html">IInPort</a>[]&#160;</td>
          <td class="paramname"><em>sensitive</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Registers a threaded process whereby the <code>Tick</code> event is triggered whenever the specified predicate evaluates to <code>true</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">func</td><td>The process body</td></tr>
    <tr><td class="paramname">predicate</td><td>Predicate to evaluate, e.g.<code>clk.RisingEdge</code></td></tr>
    <tr><td class="paramname">sensitive</td><td>Sensitivity determining the points in time when to evaluate</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00293">293</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a1e6d9b59fa0eb7c82c0684155a340049"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void SystemSharp.Components.Component.AddProcess </td>
          <td>(</td>
          <td class="paramtype">Action&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">params <a class="el" href="class_system_sharp_1_1_components_1_1_abstract_event.html">AbstractEvent</a>[]&#160;</td>
          <td class="paramname"><em>sensitive</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Registers a triggered process. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">func</td><td>The process body</td></tr>
    <tr><td class="paramname">sensitive</td><td>The sensitivity list</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00221">221</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="abb91da31da19033a4cf1fcfb006dd957"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void SystemSharp.Components.Component.AddProcess </td>
          <td>(</td>
          <td class="paramtype">Action&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">params <a class="el" href="interface_system_sharp_1_1_components_1_1_i_in_port.html">IInPort</a>[]&#160;</td>
          <td class="paramname"><em>sensitive</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Registers a triggered process. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">func</td><td>The process body</td></tr>
    <tr><td class="paramname">sensitive</td><td>The sensitivity list</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00239">239</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="ad5ad780d927f150155272e75d0b5944f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void SystemSharp.Components.Component.AddProcess </td>
          <td>(</td>
          <td class="paramtype">Action&#160;</td>
          <td class="paramname"><em>func</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Registers a triggered process without sensitivity. The process gets executed after the beginning of the simulation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">func</td><td>The process body</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00248">248</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a1bb47ad0d55c37e2193c3e5891ef5e92"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void SystemSharp.Components.Component.AddThread </td>
          <td>(</td>
          <td class="paramtype">Action&#160;</td>
          <td class="paramname"><em>func</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Registers a threaded process. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">func</td><td>The process body</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00262">262</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="afc8c154c36493b4fbdf4b76ed0d1ecb5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_system_sharp_1_1_components_1_1_multi_event.html">MultiEvent</a> SystemSharp.Components.Component.Any </td>
          <td>(</td>
          <td class="paramtype">params <a class="el" href="interface_system_sharp_1_1_components_1_1_i_in_port.html">IInPort</a>[]&#160;</td>
          <td class="paramname"><em>signals</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Combines the changed events of multiple signals to a single event which is triggered whenever any of the involved signals changed its value. </p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00163">163</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a40334aded171d93dfa44a8aa12ed91bc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_system_sharp_1_1_components_1_1_multi_event.html">MultiEvent</a> SystemSharp.Components.Component.Any </td>
          <td>(</td>
          <td class="paramtype">params <a class="el" href="class_system_sharp_1_1_components_1_1_abstract_event.html">AbstractEvent</a>[]&#160;</td>
          <td class="paramname"><em>events</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Combines multiple events to a single event which is triggered whenever any event is triggered. </p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00172">172</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="abb3edcb7fa090e32393ebfbbc5a5eb2d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void SystemSharp.Components.Component.Bind </td>
          <td>(</td>
          <td class="paramtype">Action&#160;</td>
          <td class="paramname"><em>bindAction</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Registers an action to be performed before model elaboration. This is especially useful for performing port binding tasks. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bindAction</td><td>action to register</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00211">211</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a10bc83162f63c87b8d516572d2e34b50"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_system_sharp_1_1_components_1_1_predicated_event.html">PredicatedEvent</a> SystemSharp.Components.Component.FallingEdge </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespace_system_sharp_1_1_components.html#a1b363c1bde8fdda4245b1c5c616e328eaefeb369cccbd560588a756610865664c">In</a>&lt; <a class="el" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> &gt;&#160;</td>
          <td class="paramname"><em>clk</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Represents one falling edge. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">clk</td><td>The clock signal</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00141">141</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="af029aaf01d5f09095241ccc0b2566626"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int SystemSharp.Components.Component.GetBehaviorHashCode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>returns a hash code such that for any two components c1 and c2 the following condition holds: <code>c1.GetBehaviorHashCode() != c2.GetBehaviorHashCode()</code> implies <code>!c1.IsEquivalent(c2)</code> </p>
<dl class="section return"><dt>Returns</dt><dd>the hash code</dd></dl>

<p>Reimplemented in <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_floating_point_core.html#a125ef5c5eb1c75bfcea97644f624a1f5">SystemSharp.Interop.Xilinx.IPCores.FloatingPointCore</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_cordic.html#af1bec890bdb9a0aaeeea50faacdfb53d">SystemSharp.Interop.Xilinx.IPCores.XilinxCordic</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_adder_subtracter.html#aa0139e515221101f688953b17d630194">SystemSharp.Interop.Xilinx.IPCores.XilinxAdderSubtracter</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_a_l_u.html#a303ab94a90a8d23c29cab0ff73988989">SystemSharp.Components.Std.ALU</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_multiplier.html#a53be174aedbbcff657fd657ab329a4a6">SystemSharp.Interop.Xilinx.IPCores.XilinxMultiplier</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_float_neg_abs.html#a008365996fd42c50ee8ef939c58a7c09">SystemSharp.Components.Std.FloatNegAbs</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_slicer.html#a7eb6221979f3dead8dcb53e6e6afbd04">SystemSharp.Components.Std.Slicer</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_fixed_abs.html#a04d5e9784ab15f15dcfe348b9588fbeb">SystemSharp.Components.Std.FixedAbs</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_m_u_x2.html#a5e1506d6868fd042d45c2bfac9885311">SystemSharp.Components.Std.MUX2</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_reg_pipe.html#a8584211d4d69f105bfe11bb640dfaa62">SystemSharp.Components.Std.RegPipe</a>, and <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_float_sign_as_signed.html#a0ca49224339c75bdee921cd339a14092">SystemSharp.Components.Std.FloatSignAsSigned</a>.</p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00482">482</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a8692f591ead72696120c85c117b96bf4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void SystemSharp.Components.Component.Initialize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Override this method to perform initialization tasks, such as registering a process. </p>

<p>Reimplemented in <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_floating_point_core.html#afd458936815cb65c55b41eed7f688254">SystemSharp.Interop.Xilinx.IPCores.FloatingPointCore</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_block_mem.html#a96e73dc692838bcd045b0699e8cc3a38">SystemSharp.Interop.Xilinx.IPCores.BlockMem</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_cordic.html#a42a7a91dcfd638377a2da5332042357e">SystemSharp.Interop.Xilinx.IPCores.XilinxCordic</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_dds_compiler.html#a79e646fa80066ecc10fb06eb3d99140a">SystemSharp.Interop.Xilinx.IPCores.XilinxDdsCompiler</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_sin_cos_l_u_t_core.html#a9b8343100ab098e7e6dae31be35ff5f1">SystemSharp.Components.Std.SinCosLUTCore</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_a_l_u.html#a89d543389a5dad9eefabf037a211ff68">SystemSharp.Components.Std.ALU</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_divider.html#aee1f6ea88e3b7e9c9b81dfc5bd68c53e">SystemSharp.Interop.Xilinx.IPCores.XilinxDivider</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_a_x_i_1_1_a_x_i_master_user_logic.html#a0b2d2e4ac6076a316e38cbdc8c9db5c3">SystemSharp.Interop.Xilinx.AXI.AXIMasterUserLogic</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_adder_subtracter.html#a70ba95b078cde0fb796c15e5db9b1cd5">SystemSharp.Interop.Xilinx.IPCores.XilinxAdderSubtracter</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_multiplier.html#a0e843e8735b3d24e7a429e4565aa9528">SystemSharp.Interop.Xilinx.IPCores.XilinxMultiplier</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_b_c_u.html#a96e5aeb20776c4aa139b148972d7046b">SystemSharp.Components.Std.BCU</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_a_x_i_1_1_a_x_i_lite_slave_user_logic.html#a5f32ceafd6f44d63f0405348ba978653">SystemSharp.Interop.Xilinx.AXI.AXILiteSlaveUserLogic</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_simple_d_p_r_a_m.html#a3587151e3c8b82e6e9b3f3dfbc9ab69b">SystemSharp.Components.Std.SimpleDPRAM</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_port_writer_3_01_t_01_4.html#af18a3fbc66914d850550481de090e182">SystemSharp.Components.Std.PortWriter&lt; T &gt;</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_local_storage_unit.html#ae5a12cd79b96067b180c00c845f9857f">SystemSharp.Components.Std.LocalStorageUnit</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_r_o_m.html#a18583e2965c9b68b358e5fe20fda25c3">SystemSharp.Components.Std.ROM</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_float_neg_abs.html#a868abf672cbf2838b566af6925b9b724">SystemSharp.Components.Std.FloatNegAbs</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_slicer.html#a6881d5b4dd79ce4f3bebd92e09755065">SystemSharp.Components.Std.Slicer</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_shifter.html#a47bbd4cdfe4edfbf0faf7cf277f38e8c">SystemSharp.Components.Std.Shifter</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_fixed_abs.html#ac67d9fdf83eb862f236b15c62509b40a">SystemSharp.Components.Std.FixedAbs</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_a_x_i_1_1_a_x_i_master_user_logic_testbench.html#a02986721a415219fec2585a0d534713f">SystemSharp.Interop.Xilinx.AXI.AXIMasterUserLogicTestbench</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_float_sign_as_signed.html#a2fad40a8a41d92366b7b437e92314359">SystemSharp.Components.Std.FloatSignAsSigned</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_fix_f_p_mod1.html#a5176d0fa247bc83591af94c4a4ed963e">SystemSharp.Components.Std.FixFPMod1</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_m_u_x2.html#a4275f1d68439c9cb96a80142432105fe">SystemSharp.Components.Std.MUX2</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_concatenizer.html#a219802071669d4f4badd90074c0fcd46">SystemSharp.Components.Std.Concatenizer</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_l_e_r_p_unit.html#ab916969fa2718396b6dd18cbe7fcc92d">SystemSharp.Components.Std.LERPUnit</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_reg_pipe.html#a6ff2cba288593b08b1e540a411ca8257">SystemSharp.Components.Std.RegPipe</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_a_x_i_1_1_a_x_i_lite_slave_user_logic_testbench.html#a49ef4988fff896d96145c2f6adda3c34">SystemSharp.Interop.Xilinx.AXI.AXILiteSlaveUserLogicTestbench</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_clock.html#a3d2814b5515d1711626cd078d92fe830">SystemSharp.Components.Std.Clock</a>, and <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_console_logger_3_01_t_01_4.html#aa3c99253dcb95870a69f77214b884fe3">SystemSharp.Components.Std.ConsoleLogger&lt; T &gt;</a>.</p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00181">181</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a56a35638ea6a794c818c5de4ee979fe0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool SystemSharp.Components.Component.IsEquivalent </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html">Component</a>&#160;</td>
          <td class="paramname"><em>component</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tells whether this component is equivalent to another one. Equivalent means that both components have the same interface with the same ports, port types and port type parameters and that moreover both behave in the same way. This check cannot be done in general (refer to the halting problem). Instead, it is up to the designer to implement specialized checks for derived components. The base implementation returns true only if it is compared to itself. IsEquivalent must use conservative assumptions. I.e. it may return <code>false</code> if in doubt, but must never return <code>true</code> if it cannot gurantee that the other component behaves identically. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td>The component to compoare</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true, if this component is equivalent to the other one, false if not (or if in doubt)</dd></dl>

<p>Reimplemented in <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_floating_point_core.html#afe02fa5bee4cb2cb69e2cedbe7fa0d33">SystemSharp.Interop.Xilinx.IPCores.FloatingPointCore</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_cordic.html#a7dfb983ac62b6906a7755a718e279bca">SystemSharp.Interop.Xilinx.IPCores.XilinxCordic</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_adder_subtracter.html#a1007a790f2a228a9d2c8df83e53d25aa">SystemSharp.Interop.Xilinx.IPCores.XilinxAdderSubtracter</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_a_l_u.html#a0e062e9cd3673558bd18abfbba9a5fc9">SystemSharp.Components.Std.ALU</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_multiplier.html#a7e868e3d05d117412f8e94ccd0db4099">SystemSharp.Interop.Xilinx.IPCores.XilinxMultiplier</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_float_neg_abs.html#a505b0aeb518a7c00ef869d60c0923d5b">SystemSharp.Components.Std.FloatNegAbs</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_slicer.html#adae14344a17e50700a267bbb29542bdb">SystemSharp.Components.Std.Slicer</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_fixed_abs.html#a15d55dc27f7f36cba1491ae842abf7d0">SystemSharp.Components.Std.FixedAbs</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_m_u_x2.html#a00b6c456eddd4584af626e6f65054fc2">SystemSharp.Components.Std.MUX2</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_reg_pipe.html#ab06653bf7da0ed4a8c668cd42d738d65">SystemSharp.Components.Std.RegPipe</a>, and <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_float_sign_as_signed.html#adf1b22d66a330b41227136e67a2b55a1">SystemSharp.Components.Std.FloatSignAsSigned</a>.</p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00472">472</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a4d8690dbea865cc35696ab5a5156e3bf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void SystemSharp.Components.Component.NextTrigger </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_system_sharp_1_1_components_1_1_time.html">Time</a>&#160;</td>
          <td class="paramname"><em>delta</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Changes a triggered process sensitivity list and request it to be scheduled in the future. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">delta</td><td>The desired relative period when the process should be scheduled again.</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00303">303</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a4f4060504997f39520c0a299583a8b25"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void SystemSharp.Components.Component.NextTrigger </td>
          <td>(</td>
          <td class="paramtype">params <a class="el" href="class_system_sharp_1_1_components_1_1_abstract_event.html">AbstractEvent</a>[]&#160;</td>
          <td class="paramname"><em>sensitive</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Changes a process sensitivity list. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sensitive</td><td>The new sensitivity list</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00314">314</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="ad46541678bc5b9774af415fd6877dd20"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void SystemSharp.Components.Component.NextTrigger </td>
          <td>(</td>
          <td class="paramtype">params <a class="el" href="interface_system_sharp_1_1_components_1_1_i_in_port.html">IInPort</a>[]&#160;</td>
          <td class="paramname"><em>sensitive</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Changes a process sensitivity list. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sensitive</td><td>The new sensitivity list</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00324">324</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="ae591fd0484a69ac722c66ff32d19f0c2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static async Task SystemSharp.Components.Component.NFallingEdges </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespace_system_sharp_1_1_components.html#a1b363c1bde8fdda4245b1c5c616e328eaefeb369cccbd560588a756610865664c">In</a>&lt; <a class="el" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> &gt;&#160;</td>
          <td class="paramname"><em>clk</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numTicks</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Represents <em>numTicks</em>  falling edges. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">clk</td><td>The clock signal</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00151">151</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a810368251d018ad12a4a63b618a7dd2b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static async Task SystemSharp.Components.Component.NRisingEdges </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespace_system_sharp_1_1_components.html#a1b363c1bde8fdda4245b1c5c616e328eaefeb369cccbd560588a756610865664c">In</a>&lt; <a class="el" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> &gt;&#160;</td>
          <td class="paramname"><em>clk</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numTicks</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Represents <em>numTicks</em>  rising edges. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">clk</td><td>The clock signal</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00128">128</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a1de96fc4579daeff4ecfd6595e1db3f5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static async Task SystemSharp.Components.Component.NTicks </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numTicks</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Represents <em>numTicks</em>  ticks </p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00108">108</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="afe716e869e98f9e89e6ee1c9f7d67ae6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void SystemSharp.Components.Component.OnAnalysis </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This method is called upon model analysis. </p>
<p>The standard implementation uses reflection to inspect all fields and registers them to the component descriptor. </p>

<p>Reimplemented in <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_floating_point_core.html#af1cb2c59d78c328986cd3754c935bd33">SystemSharp.Interop.Xilinx.IPCores.FloatingPointCore</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_a_x_i_1_1_a_x_i_master_user_logic.html#ac092b7d6a08af0317b68b2eb6479cb84">SystemSharp.Interop.Xilinx.AXI.AXIMasterUserLogic</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_a_x_i_1_1_a_x_i_lite_slave_user_logic.html#aa0b8e8638b5e0b1e74f4e7ac8198227d">SystemSharp.Interop.Xilinx.AXI.AXILiteSlaveUserLogic</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_a_x_i_1_1_a_x_i_master_user_logic_testbench.html#a36e0340347cc8d5cae5196f62c72fe80">SystemSharp.Interop.Xilinx.AXI.AXIMasterUserLogicTestbench</a>, and <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_a_x_i_1_1_a_x_i_lite_slave_user_logic_testbench.html#a54f58d50e161bf6c5dfb3a5bb8f5ba38">SystemSharp.Interop.Xilinx.AXI.AXILiteSlaveUserLogicTestbench</a>.</p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00370">370</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a6a810195042b9f3c8cd4ca2f9fe84268"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void SystemSharp.Components.Component.OnSimulationStopped </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This method gets called when the simulation stopped. Overwrite it to perform any cleanup tasks. </p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00202">202</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="af92696c1d2ed6ac728abc125e008d501"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void SystemSharp.Components.Component.OnSynthesis </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interface_system_sharp_1_1_synthesis_1_1_i_synthesis_context.html">ISynthesisContext</a>&#160;</td>
          <td class="paramname"><em>ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This method is called upon synthesis. Overwrite it to perform custom synthesis tasks, such as generating a core generator script. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>The synthesis context</td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_floating_point_core.html#a82b17df9564e4809070977ec5ee2c8a2">SystemSharp.Interop.Xilinx.IPCores.FloatingPointCore</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_block_mem.html#ade214b4353ea956f2a6a8bf6942b0f62">SystemSharp.Interop.Xilinx.IPCores.BlockMem</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_cordic.html#ada0ab5bd4bda9184e31b03e36ffb5512">SystemSharp.Interop.Xilinx.IPCores.XilinxCordic</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_dds_compiler.html#a8b8e5e3efd21e509e55afacafe2a2985">SystemSharp.Interop.Xilinx.IPCores.XilinxDdsCompiler</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_a_x_i_1_1_a_x_i_master_user_logic.html#a563fcfb7e745701fe466cc112ec57bfa">SystemSharp.Interop.Xilinx.AXI.AXIMasterUserLogic</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_divider.html#aa71754137998e13a203dfe91baadbf12">SystemSharp.Interop.Xilinx.IPCores.XilinxDivider</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_multiplier.html#a6824b1f6c09e3674209105d549667c81">SystemSharp.Interop.Xilinx.IPCores.XilinxMultiplier</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_adder_subtracter.html#aee411e0b0879bd984a9ff50d25c2c6f4">SystemSharp.Interop.Xilinx.IPCores.XilinxAdderSubtracter</a>, and <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_a_x_i_1_1_a_x_i_lite_slave_user_logic.html#aaa154c26601e5423a971ab58dd2dc563">SystemSharp.Interop.Xilinx.AXI.AXILiteSlaveUserLogic</a>.</p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00415">415</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a4142ab9ea2e3d7b486cd39a79f1c112d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void SystemSharp.Components.Component.PostInitialize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This method gets called after <code><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a8692f591ead72696120c85c117b96bf4" title="Override this method to perform initialization tasks, such as registering a process. ">Initialize()</a></code>. </p>

<p>Reimplemented in <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_block_mem.html#a33410ec10407772b988b2637287d9b52">SystemSharp.Interop.Xilinx.IPCores.BlockMem</a>.</p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00195">195</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="af61fbc9224ffed9332ecc1a21eb79b23"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void SystemSharp.Components.Component.PreInitialize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This method gets called prior to <code><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#a8692f591ead72696120c85c117b96bf4" title="Override this method to perform initialization tasks, such as registering a process. ">Initialize()</a></code>. </p>

<p>Reimplemented in <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_floating_point_core.html#a162778d7d4de7243da46ad9287b15ba8">SystemSharp.Interop.Xilinx.IPCores.FloatingPointCore</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_block_mem.html#a778897c12e6b536a0ece5812f9bb2879">SystemSharp.Interop.Xilinx.IPCores.BlockMem</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_cordic.html#a7dc3841895f9226dd6242e9db05e657e">SystemSharp.Interop.Xilinx.IPCores.XilinxCordic</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_dds_compiler.html#a169177992587f3472e3a02cbf1d9f944">SystemSharp.Interop.Xilinx.IPCores.XilinxDdsCompiler</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_a_x_i_1_1_a_x_i_master_user_logic.html#a6de9561b4752ae17fd501b48e4e9d8a4">SystemSharp.Interop.Xilinx.AXI.AXIMasterUserLogic</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_divider.html#a859472ce9ba8e01f7ae88027dac5acf0">SystemSharp.Interop.Xilinx.IPCores.XilinxDivider</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_adder_subtracter.html#ad1157642443c57f9e5671aa909e2bd9c">SystemSharp.Interop.Xilinx.IPCores.XilinxAdderSubtracter</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_b_c_u.html#abafdfdd52012a25b2964086e2a413727">SystemSharp.Components.Std.BCU</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_i_p_cores_1_1_xilinx_multiplier.html#a06a7e4d5d9900b0dfcf1831122dc6d48">SystemSharp.Interop.Xilinx.IPCores.XilinxMultiplier</a>, <a class="el" href="class_system_sharp_1_1_interop_1_1_xilinx_1_1_a_x_i_1_1_a_x_i_lite_slave_user_logic.html#ab9f12fbfb8473fc04a5c5113341fb953">SystemSharp.Interop.Xilinx.AXI.AXILiteSlaveUserLogic</a>, <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_float_neg_abs.html#a913c1e9e3108bfaf712ca983bb20f550">SystemSharp.Components.Std.FloatNegAbs</a>, and <a class="el" href="class_system_sharp_1_1_components_1_1_std_1_1_fixed_abs.html#a4ecec549b5cb0aa80b66076f6c16a428">SystemSharp.Components.Std.FixedAbs</a>.</p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00188">188</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a75ff16ba21959d251ec876313d5d324d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_system_sharp_1_1_components_1_1_predicated_event.html">PredicatedEvent</a> SystemSharp.Components.Component.RisingEdge </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespace_system_sharp_1_1_components.html#a1b363c1bde8fdda4245b1c5c616e328eaefeb369cccbd560588a756610865664c">In</a>&lt; <a class="el" href="struct_system_sharp_1_1_data_types_1_1_std_logic.html">StdLogic</a> &gt;&#160;</td>
          <td class="paramname"><em>clk</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Represents one rising edge. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">clk</td><td>The clock signal</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00118">118</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="aa7e795154d53f53d486fbcce7ef5aaaf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void SystemSharp.Components.Component.SetOwner </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_system_sharp_1_1_meta_1_1_descriptor_base.html">DescriptorBase</a>&#160;</td>
          <td class="paramname"><em>owner</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MemberInfo&#160;</td>
          <td class="paramname"><em>declSite</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_system_sharp_1_1_data_types_1_1_index_spec.html">IndexSpec</a>&#160;</td>
          <td class="paramname"><em>indexSpec</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the owning descriptor of this component. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">owner</td><td>owning descriptor</td></tr>
    <tr><td class="paramname">declSite</td><td>declaration site of this component</td></tr>
    <tr><td class="paramname">indexSpec</td><td>index within declaration site</td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="interface_system_sharp_1_1_meta_1_1_i_containment_implementor.html#a5eae44bd8b023937345552e810f79fa2">SystemSharp.Meta.IContainmentImplementor</a>.</p>

<p>Reimplemented in <a class="el" href="class_system_sharp_1_1_components_1_1_component_collection.html#af0c7e81d98fadb961f4e7e77c06f8583">SystemSharp.Components.ComponentCollection</a>.</p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00439">439</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a08efdba561f12337f6b9fced61ba185a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">readonly IEqualityComparer&lt;<a class="el" href="class_system_sharp_1_1_components_1_1_component.html">Component</a>&gt; SystemSharp.Components.Component.BehaviorComparer = new ComponentBehaviorComparer()</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>An equality comparer which defines equality by the <code>IsEquivalent(...)</code>/<code><a class="el" href="class_system_sharp_1_1_components_1_1_component.html#af029aaf01d5f09095241ccc0b2566626" title="returns a hash code such that for any two components c1 and c2 the following condition holds: c1...">GetBehaviorHashCode()</a></code> methods. </p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00059">59</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a class="anchor" id="a903fa72c9c562e704fc0648d70a9bcab"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="interface_system_sharp_1_1_components_1_1_i_auto_binder.html">IAutoBinder</a> SystemSharp.Components.Component.AutoBinder</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets or sets a binder service for this component. </p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00458">458</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a0fbf3618498aec1964b817cdd0742890"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_system_sharp_1_1_meta_1_1_component_descriptor.html">ComponentDescriptor</a> SystemSharp.Components.Component.Descriptor</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The associated component descriptor </p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00423">423</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a7efe2d00ea2effb2ac11a747a9ea28c4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html">Component</a> SystemSharp.Components.Component.Parent</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The containing component of this component. </p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00081">81</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a38100ebf182b1d69a1de2b4104fe6755"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html">Component</a> SystemSharp.Components.Component.Representant</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A representative component such that <code>IsEquivalent(Representant)</code> is fulfilled. </p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00490">490</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a6e2054f4f825ab32c05e569d315967f9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_system_sharp_1_1_components_1_1_predicated_event.html">PredicatedEvent</a> SystemSharp.Components.Component.Tick</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Represents one tick </p>

<p>Definition at line <a class="el" href="_component_8cs_source.html#l00088">88</a> of file <a class="el" href="_component_8cs_source.html">Component.cs</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_component_8cs_source.html">Component.cs</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespace_system_sharp.html">SystemSharp</a></li><li class="navelem"><a class="el" href="namespace_system_sharp_1_1_components.html">Components</a></li><li class="navelem"><a class="el" href="class_system_sharp_1_1_components_1_1_component.html">Component</a></li>
    <li class="footer">Generated on Thu Dec 26 2013 14:21:59 for SystemSharp by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
